package cc.co.taciano.agenda2.actions;

/**
 * Classe Action responsável pelo login no sistema.
 * @author taciano
 * @version v-0.1 - 19/09/2008
 * @since 19/09/2008
 */
public class LogonAction extends AgendaAction {

    /**
     * Número para serialização.
     */
    private static final long serialVersionUID = 832724798067305294L;

    /**
     * Login do usuário.
     */
    private String username;

    /**
     * Senha do usuário.
     */
    private String password;

    /**
     * Verifica a entrada do formulário de login e encaminha para a página
     * principal se não houver erro.
     * @see com.opensymphony.xwork2.ActionSupport#execute()
     */
    public String execute() throws Exception {

        if (isInvalid(getUsername()) || isInvalid(getPassword())) {
            addFieldError("username", getText("view.usuario.invalidos"));
            return INPUT;
        }

        return SUCCESS;
    }

    /**
     * @param value
     * @return
     */
    private boolean isInvalid(String value) {
        return (value == null || value.length() == 0);
    }

    /**
     * @return
     */
    public String getUsername() {
        return username;
    }

    /**
     * @param username
     */
    public void setUsername(String username) {
        this.username = username;
    }

    /**
     * @return
     */
    public String getPassword() {
        return password;
    }

    /**
     * @param password
     */
    public void setPassword(String password) {
        this.password = password;
    }
}
